2832
1950
Οι απαντήσεις αυτής της ερώτησης είναι μια κοινοτική προσπάθεια. Επεξεργαστείτε τις υπάρχουσες απαντήσεις για να βελτιώσετε αυτήν την ανάρτηση. Προς το παρόν δεν δέχεται νέες απαντήσεις ή αλληλεπιδράσεις.
Πώς μπορώ να ανακατευθύνω το χρήστη από τη μία σελίδα στην άλλη χρησιμοποιώντας jQuery ή καθαρή JavaScript; 
1
2
Επόμενο
Δεν γίνεται απλώς ανακατεύθυνση χρησιμοποιώντας το jQuery
Το jQuery δεν είναι απαραίτητο και το window.location.replace (...) προσομοιώνει καλύτερα μια ανακατεύθυνση HTTP.
Το window.location.replace (...) είναι καλύτερο από τη χρήση του window.location.href, επειδή η αντικατάσταση () δεν διατηρεί την αρχική σελίδα στο ιστορικό περιόδου λειτουργίας, που σημαίνει ότι ο χρήστης δεν θα κολλήσει σε ένα ατελείωτο φιάσκο κουμπιών.
Εάν θέλετε να προσομοιώσετε κάποιον που κάνει κλικ σε έναν σύνδεσμο, χρησιμοποιήστε το
location.href
Εάν θέλετε να προσομοιώσετε μια ανακατεύθυνση HTTP, χρησιμοποιήστε το location.replace
Για παράδειγμα:
// παρόμοια συμπεριφορά με μια ανακατεύθυνση HTTP
window.location.replace ("http://stackoverflow.com");
// παρόμοια συμπεριφορά με το κλικ σε έναν σύνδεσμο
window.location.href = "http://stackoverflow.com";
|
ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αυτή η απάντηση δόθηκε απλώς ως πιθανή λύση. Προφανώς δεν είναι η καλύτερη λύση, καθώς απαιτεί jQuery. Αντ 'αυτού, προτιμήστε την καθαρή λύση JavaScript.
$ (τοποθεσία) .attr ('href', 'http://stackoverflow.com')
|
Τυπικός τρόπος "βανίλια" JavaScript για ανακατεύθυνση μιας σελίδας
window.location.href = 'newPage.html';
Ή πιο απλά: (αφού το παράθυρο είναι παγκόσμιο)
location.href = 'newPage.html';
Εάν βρίσκεστε εδώ επειδή χάνετε HTTP_REFERER κατά την ανακατεύθυνση, συνεχίστε να διαβάζετε:
(Διαφορετικά αγνοήστε αυτό το τελευταίο μέρος)
Η ακόλουθη ενότητα είναι για όσους χρησιμοποιούν HTTP_REFERER ως ένα από τα πολλά μέτρα ασφαλείας (αν και δεν είναι ένα εξαιρετικό προστατευτικό μέτρο). Εάν χρησιμοποιείτε τον Internet Explorer 8 ή νεότερη έκδοση, αυτές οι μεταβλητές χάνονται όταν χρησιμοποιείτε οποιαδήποτε μορφή ανακατεύθυνσης σελίδας JavaScript (location.href κ.λπ.)
Παρακάτω θα εφαρμόσουμε μια εναλλακτική λύση για IE8 και χαμηλότερη, ώστε να μην χάσουμε το HTTP_REFERER Διαφορετικά, μπορείτε σχεδόν πάντα να χρησιμοποιήσετε απλά το window.location.href.
Η δοκιμή κατά HTTP_REFERER (επικόλληση διεύθυνσης URL, περίοδο σύνδεσης κ.λπ.) μπορεί να σας βοηθήσει να διαπιστώσετε εάν ένα αίτημα είναι νόμιμο.
(Σημείωση: υπάρχουν επίσης τρόποι αντιμετώπισης / πλαστογράφησης αυτών των παραπομπών, όπως σημειώνεται από τον σύνδεσμο του droop στα σχόλια)
Απλή λύση δοκιμής μεταξύ προγραμμάτων περιήγησης (εναλλακτική λύση στο window.location.href για τον Internet Explorer 9+ και όλα τα άλλα προγράμματα περιήγησης)
Χρήση: redirect ('anotherpage.aspx');
ανακατεύθυνση λειτουργίας (url) {
var ua = navigator.userAgent.toLowerCase (),
isIE = ua.indexOf ('msie')! == -1,
έκδοση = parseInt (ua.substr (4, 2), 10);
// Internet Explorer 8 και νεότερη έκδοση
εάν (isIE && έκδοση <9) {
var link = document.createElement ('a');
link.href = url;
document.body.appendChild (σύνδεσμος);
link.click ();
}
// Όλα τα άλλα προγράμματα περιήγησης μπορούν να χρησιμοποιούν το τυπικό window.location.href (δεν χάνουν το HTTP_REFERER όπως ο Internet Explorer 8 και οι χαμηλότεροι)
αλλιώς {
window.location.href = url;
}
}
|
Υπάρχουν πολλοί τρόποι για να το κάνετε αυτό.
// window.location
window.location.replace ('http://www.example.com')
window.location.assign ('http://www.example.com')
window.location.href = 'http://www.example.com'
document.location.href = '/ διαδρομή'
// window.history
window.history.back ()
window.history.go (-1)
// window.navigate; ΜΟΝΟ για παλιές εκδόσεις του Internet Explorer
window.navigate ('top.jsp')
// Πιθανώς όχι bueno
self.location = 'http://www.example.com';
top.location = 'http://www.example.com';
// jQuery
$ (τοποθεσία) .attr ('href', 'http: //www.example.com')
$ (παράθυρο) .attr ('location', 'http: //www.example.com')
$ (τοποθεσία) .prop ('href', 'http://www.example.com')
|
Αυτό λειτουργεί για κάθε πρόγραμμα περιήγησης:
window.location.href = 'your_url';
|
Θα βοηθούσε αν ήσασταν λίγο πιο περιγραφική σε αυτό που προσπαθείτε να κάνετε. Εάν προσπαθείτε να δημιουργήσετε σελιδοποιημένα δεδομένα, υπάρχουν ορισμένες επιλογές για το πώς το κάνετε αυτό. Μπορείτε να δημιουργήσετε ξεχωριστούς συνδέσμους για κάθε σελίδα στην οποία θέλετε να έχετε απευθείας πρόσβαση.
 1 
 2 
 3 
...
Σημειώστε ότι η τρέχουσα σελίδα στο παράδειγμα αντιμετωπίζεται διαφορετικά στον κώδικα και με CSS.
Εάν θέλετε να αλλάξετε τα σελιδοποιημένα δεδομένα μέσω AJAX, εδώ θα έρθει το jQuery. Αυτό που θα κάνατε είναι να προσθέσετε ένα χειριστή κλικ σε κάθε μια από τις ετικέτες αγκύρωσης που αντιστοιχούν σε διαφορετική σελίδα. Αυτός ο χειριστής κλικ θα επικαλούσε κάποιον κώδικα jQuery που πηγαίνει και ανακτά την επόμενη σελίδα μέσω AJAX και ενημερώνει τον πίνακα με τα νέα δεδομένα. Το παρακάτω παράδειγμα προϋποθέτει ότι έχετε μια υπηρεσία ιστού που επιστρέφει τα νέα δεδομένα σελίδας.
$ (έγγραφο). ήδη (συνάρτηση () {
$ ('a.pager-link'). κάντε κλικ στο (function () {
var σελίδα = $ (this) .attr ('href'). split (/ \? /) [1];
$ .ajax ({
πληκτρολογήστε: "POST",
url: '/ path-to-service',
δεδομένα: σελίδα,
επιτυχία: λειτουργία (περιεχόμενο) {
$ ('# myTable'). html (περιεχόμενο); // αντικαταστήστε
}
});
επιστροφή ψευδής? // για διακοπή συνδέσμου
});
});
|
Πιστεύω επίσης ότι το location.replace (URL) είναι ο καλύτερος τρόπος, αλλά αν θέλετε να ειδοποιήσετε τις μηχανές αναζήτησης για την ανακατεύθυνση (δεν αναλύουν κώδικα JavaScript για να δουν την ανακατεύθυνση) θα πρέπει να προσθέσετε το rel = "canonical" meta ετικέτα στον ιστότοπό σας.
Η προσθήκη μιας ενότητας noscript με μια μετα-ετικέτα ανανέωσης HTML σε αυτήν, είναι επίσης μια καλή λύση. Σας προτείνω να χρησιμοποιήσετε αυτό το εργαλείο ανακατεύθυνσης JavaScriptδημιουργήστε ανακατευθύνσεις. Διαθέτει επίσης υποστήριξη του Internet Explorer για να περάσει το HTTP referer.
Το δείγμα κώδικα χωρίς καθυστέρηση μοιάζει με αυτό:







  



|
Αλλά αν κάποιος θέλει να ανακατευθύνει στην αρχική σελίδα, τότε μπορεί να χρησιμοποιήσει το ακόλουθο απόσπασμα.
window.location = window.location.host
Θα ήταν χρήσιμο εάν έχετε τρία διαφορετικά περιβάλλοντα όπως ανάπτυξη, στάση και παραγωγή.
Μπορείτε να εξερευνήσετε αυτό το παράθυρο ή το αντικείμενο window.location απλά τοποθετώντας αυτές τις λέξεις στην Κονσόλα Chrome ή στην Κονσόλα του Firebug
|
Το JavaScript σας παρέχει πολλές μεθόδους για να ανακτήσετε και να αλλάξετε την τρέχουσα διεύθυνση URL που εμφανίζεται στη γραμμή διευθύνσεων του προγράμματος περιήγησης. Όλες αυτές οι μέθοδοι χρησιμοποιούν το αντικείμενο τοποθεσίας, το οποίο είναι μια ιδιότητα του αντικειμένου παραθύρου. Μπορείτε να δημιουργήσετε ένα νέο αντικείμενο τοποθεσίας που έχει την τρέχουσα διεύθυνση URL ως εξής ..
var currentLocation = window.location;
Βασική δομή ενός URL
//:/ 
Πρωτόκολλο - Καθορίζει το όνομα πρωτοκόλλου που θα χρησιμοποιηθεί για πρόσβαση στον πόρο στο Διαδίκτυο. (HTTP (χωρίς SSL) ή HTTPS (με SSL))
hostname - Το όνομα κεντρικού υπολογιστή καθορίζει τον κεντρικό υπολογιστή που κατέχει τον πόρο. Για παράδειγμα, www.stackoverflow.com. Ένας διακομιστής παρέχει υπηρεσίες χρησιμοποιώντας το όνομα του κεντρικού υπολογιστή.
θύρα - Ένας αριθμός θύρας που χρησιμοποιείται για την αναγνώριση μιας συγκεκριμένης διαδικασίας στην οποία ένα Διαδίκτυο ή άλλο μήνυμα δικτύου πρέπει να προωθείται όταν φτάνει σε έναν διακομιστή.
pathname - Η διαδρομή παρέχει πληροφορίες σχετικά με τον συγκεκριμένο πόρο εντός του κεντρικού υπολογιστή στον οποίο θέλει να έχει πρόσβαση ο πελάτης Web. Για παράδειγμα, stackoverflow.com/index.html.
query - Μια συμβολοσειρά ερωτήσεων ακολουθεί το στοιχείο διαδρομής και παρέχει μια σειρά πληροφοριών που ο πόρος μπορεί να χρησιμοποιήσει για κάποιο σκοπό (για παράδειγμα, ως παράμετροι για μια αναζήτηση ή ως δεδομένα προς επεξεργασία)
hash - Το τμήμα αγκύρωσης ενός URL, περιλαμβάνει το σύμβολο hash (#).
Με αυτές τις ιδιότητες αντικειμένου τοποθεσίας μπορείτε να έχετε πρόσβαση σε όλα αυτά τα στοιχεία διεύθυνσης URL
hash - Ορίζει ή επιστρέφει το τμήμα αγκύρωσης μιας διεύθυνσης URL.
οικοδεσπότης-Σετ
ή επιστρέφει το όνομα κεντρικού υπολογιστή και τη θύρα ενός URL.
όνομα κεντρικού υπολογιστή - Σετ ή
επιστρέφει το όνομα κεντρικού υπολογιστή μιας διεύθυνσης URL.
href - Ορίζει ή επιστρέφει ολόκληρο
Διεύθυνση URL.
pathname - Ορίζει ή επιστρέφει το όνομα διαδρομής μιας διεύθυνσης URL.
port - Ορίζει ή επιστρέφει τον αριθμό θύρας που χρησιμοποιεί ο διακομιστής για μια διεύθυνση URL.
πρωτόκολλο - Ορίζει ή επιστρέφει το πρωτόκολλο μιας διεύθυνσης URL.
αναζήτηση-Σετ
ή επιστρέφει το τμήμα ερωτήματος μιας διεύθυνσης URL
Τώρα Εάν θέλετε να αλλάξετε μια σελίδα ή να ανακατευθύνετε τον χρήστη σε κάποια άλλη σελίδα, μπορείτε να χρησιμοποιήσετε την ιδιότητα href του αντικειμένου Τοποθεσίας όπως αυτό
Μπορείτε να χρησιμοποιήσετε την ιδιότητα href του αντικειμένου τοποθεσίας.
window.location.href = "http://www.stackoverflow.com";
Το Object Object έχει επίσης αυτές τις τρεις μεθόδους
assign () - Φορτώνει ένα νέο έγγραφο.
reload () - Επαναφόρτωση του τρέχοντος εγγράφου.
Αντικατάσταση () - Αντικαθιστά το τρέχον έγγραφο με ένα νέο
Μπορείτε να χρησιμοποιήσετε την αντιστοίχιση () και να αντικαταστήσετε μεθόδους επίσης για ανακατεύθυνση σε άλλες σελίδες όπως αυτές
location.assign ("http://www.stackoverflow.com");
location.replace ("http://www.stackoverflow.com");
Πώς διαφέρει η αντιστοίχιση () και η αντικατάσταση () - Η διαφορά μεταξύ της μεθόδου αντικατάστασης () και της μεθόδου εκχώρησης () (), είναι ότι η αντικατάσταση () αφαιρεί τη διεύθυνση URL του τρέχοντος εγγράφου από το ιστορικό εγγράφων, σημαίνει ότι δεν είναι δυνατή η χρήση το κουμπί "πίσω" για να επιστρέψετε στο αρχικό έγγραφο. Χρησιμοποιήστε λοιπόν τη μέθοδο assign () εάν θέλετε να φορτώσετε ένα νέο έγγραφο και θέλετε να δώσετε την επιλογή να πλοηγηθείτε πίσω στο αρχικό έγγραφο.
Μπορείτε να αλλάξετε την ιδιότητα href αντικειμένου τοποθεσίας χρησιμοποιώντας το jQuery επίσης έτσι
$ (τοποθεσία) .attr ('href', url);
Και ως εκ τούτου μπορείτε να ανακατευθύνετε τον χρήστη σε κάποια άλλη διεύθυνση URL.
|
Βασικά το jQuery είναι απλώς ένα πλαίσιο JavaScript και για να κάνετε μερικά από τα πράγματα όπως η ανακατεύθυνση σε αυτήν την περίπτωση, μπορείτε απλά να χρησιμοποιήσετε καθαρή JavaScript, οπότε σε αυτήν την περίπτωση έχετε 3 επιλογές χρησιμοποιώντας βανίλιαJavaScript:
1) Χρησιμοποιώντας αντικατάσταση τοποθεσίας, αυτό θα αντικαταστήσει το τρέχον ιστορικό της σελίδας, σημαίνει ότι δεν είναι δυνατό να χρησιμοποιήσετε το κουμπί επιστροφής για να επιστρέψετε στην αρχική σελίδα.
window.location.replace ("http://stackoverflow.com");
2) Χρησιμοποιώντας εκχώρηση τοποθεσίας, αυτό θα διατηρήσει το ιστορικό για εσάς και με τη χρήση του κουμπιού επιστροφής, μπορείτε να επιστρέψετε στην αρχική σελίδα:
window.location.assign ("http://stackoverflow.com");
3) Συνιστώ να χρησιμοποιήσετε έναν από αυτούς τους προηγούμενους τρόπους, αλλά αυτή θα μπορούσε να είναι η τρίτη επιλογή χρησιμοποιώντας καθαρή JavaScript:
window.location.href = "http://stackoverflow.com";
Μπορείτε επίσης να γράψετε μια συνάρτηση στο jQuery για να την χειριστείτε, αλλά δεν συνιστάται, καθώς είναι μόνο μια γραμμή καθαρής λειτουργίας JavaScript, επίσης μπορείτε να χρησιμοποιήσετε όλες τις παραπάνω λειτουργίες χωρίς παράθυρο, εάν βρίσκεστε ήδη στο πεδίο του παραθύρου, για παράδειγμα window.location.replace ("http://stackoverflow.com"); θα μπορούσε να είναι location.replace ("http://stackoverflow.com");
Επίσης, τα δείχνω όλα στην παρακάτω εικόνα:
|
Θα πρέπει απλώς να μπορείτε να ρυθμίσετε χρησιμοποιώντας το window.location.
Παράδειγμα:
window.location = "https://stackoverflow.com/";
Εδώ είναι μια προηγούμενη ανάρτηση για το θέμα: Πώς μπορώ να ανακατευθύνω σε άλλη ιστοσελίδα;
|
Πριν ξεκινήσω, το jQuery είναι μια βιβλιοθήκη JavaScript που χρησιμοποιείται για χειρισμό DOM. Επομένως, δεν πρέπει να χρησιμοποιείτε το jQuery για ανακατεύθυνση σελίδας.
Ένα απόσπασμα από το Jquery.com:
Ενώ το jQuery ενδέχεται να εκτελείται χωρίς σημαντικά προβλήματα σε παλαιότερες εκδόσεις προγράμματος περιήγησης
δεν δοκιμάζουμε ενεργά το jQuery σε αυτά και γενικά δεν διορθώνουμε σφάλματα
που μπορεί να εμφανίζονται σε αυτά.
Βρέθηκε εδώ:
https://jquery.com/browser-support/
Επομένως, το jQuery δεν είναι μια τελική λύση για συμβατότητα προς τα πίσω.
Η ακόλουθη λύση με χρήση ακατέργαστου JavaScript λειτουργεί σε όλα τα προγράμματα περιήγησης και είναι στάνταρ για μεγάλο χρονικό διάστημα, οπότε δεν χρειάζεστε βιβλιοθήκες για υποστήριξη μεταξύ προγραμμάτων περιήγησης.
Αυτή η σελίδα θα ανακατευθύνει στο Google μετά από 3000 χιλιοστά του δευτερολέπτου


<κεφάλι>
 παράδειγμα 

<άτομο>

Θα ανακατευθυνθείτε σύντομα στο google.

Διαφορετικές επιλογές είναι οι εξής: window.location.href = "url"; // Προσομοιώνει την κανονική πλοήγηση σε μια νέα σελίδα window.location.replace ("url"); // Καταργεί την τρέχουσα διεύθυνση URL από το ιστορικό και την αντικαθιστά με μια νέα διεύθυνση URL window.location.assign ("url"); // Προσθέτει νέο URL στη στοίβα ιστορικού και ανακατευθύνει στη νέα διεύθυνση URL window.history.back (); // Προσομοιώνει ένα κλικ στο κουμπί πίσω window.history.go (-1); // Προσομοιώνει ένα κλικ στο κουμπί πίσω window.history.back (-1); // Προσομοιώνει ένα κλικ στο κουμπί πίσω window.navigate ("σελίδα.html"); // Ίδιο με το window.location = "url" Όταν χρησιμοποιείτε αντικατάσταση, το κουμπί επιστροφής δεν θα επιστρέψει στη σελίδα ανακατεύθυνσης, σαν να μην ήταν ποτέ στο ιστορικό. Αν θέλετε ο χρήστης να μπορεί να επιστρέψει στη σελίδα ανακατεύθυνσης, χρησιμοποιήστε το window.location.href ή window.location.assign. Εάν χρησιμοποιείτε μια επιλογή που επιτρέπει στο χρήστη να επιστρέψει στη σελίδα ανακατεύθυνσης, θυμηθείτε ότι όταν εισάγετε τη σελίδα ανακατεύθυνσης θα σας ανακατευθύνει πίσω. Επομένως, λάβετε υπόψη αυτό κατά την επιλογή μιας ανακατεύθυνσης. Υπό συνθήκες όπου η σελίδα ανακατευθύνει μόνο όταν γίνεται μια ενέργεια από τον χρήστη, τότε η σελίδα στο ιστορικό του κουμπιού πίσω θα είναι εντάξει Αλλά εάν η σελίδα ανακατευθύνει αυτόματα, τότε θα πρέπει να χρησιμοποιήσετε την αντικατάσταση, έτσι ώστε ο χρήστης να μπορεί να χρησιμοποιήσει το κουμπί επιστροφής χωρίς να αναγκαστεί να επιστρέψει στη σελίδα που στέλνει η ανακατεύθυνση. Μπορείτε επίσης να χρησιμοποιήσετε μεταδεδομένα για να εκτελέσετε μια ανακατεύθυνση σελίδας ως εξής. Ανανέωση ΜΕΤΑ Τοποθεσία ΜΕΤΑ Παραβίαση βάσης Πολλές ακόμη μέθοδοι για να ανακατευθύνετε τον ανυποψίαστο πελάτη σας σε μια σελίδα που μπορεί να μην επιθυμούν να πάνε μπορούν να βρεθούν σε αυτήν τη σελίδα (καμία από αυτές δεν βασίζεται στο jQuery): https://code.google.com/p/html5security/wiki/RedirectionMethods Θα ήθελα επίσης να επισημάνω, οι άνθρωποι δεν θέλουν να ανακατευθύνονται τυχαία. Ανακατευθύνετε άτομα μόνο όταν είναι απολύτως απαραίτητο. Εάν αρχίσετε να ανακατευθύνετε τυχαία άτομα, δεν θα πάνε ξανά στον ιστότοπό σας. Η επόμενη παράγραφος είναι υποθετική: Μπορεί επίσης να αναφερθείτε ως κακόβουλος ιστότοπος. Αν συμβεί αυτό, όταν οι χρήστες κάνουν κλικ σε έναν σύνδεσμο προς τον ιστότοπό σας, το πρόγραμμα περιήγησης χρηστών μπορεί να τους προειδοποιήσει ότι ο ιστότοπός σας είναι κακόβουλος. Αυτό που μπορεί επίσης να συμβεί είναι οι μηχανές αναζήτησης να αρχίσουν να μειώνουν την αξιολόγησή σας εάν οι άνθρωποι αναφέρουν μια κακή εμπειρία στον ιστότοπό σας. Διαβάστε τις Οδηγίες για Webmasters Google σχετικά με τις ανακατευθύνσεις: https://support.google.com/webmasters/answer/2721217?hl=el&ref_topic=6001971 Εδώ είναι μια διασκεδαστική μικρή σελίδα που σας βγάζει έξω από τη σελίδα. <κεφάλι> Go Away <άτομο>

Μετάβαση

Εάν συνδυάσετε τα παραδείγματα δύο σελίδων μαζί, θα έχετε ένα βρεφικό βρόχο να το αλλάξετεθα εγγυηθεί ότι ο χρήστης σας δεν θα θέλει ποτέ να χρησιμοποιήσει ξανά τον ιστότοπό σας. | var url = 'asdf.html'; window.location.href = url; | Μπορείτε να το κάνετε χωρίς jQuery όπως: window.location = "http://yourdomain.com"; Και αν θέλετε μόνο jQuery τότε μπορείτε να το κάνετε όπως: $ jq (window) .attr ("location", "http://yourdomain.com"); | Αυτό λειτουργεί με το jQuery: $ (window) .attr ("location", "http://google.fr"); | # Ανακατεύθυνση σελίδας HTML Χρησιμοποιώντας τη μέθοδο jQuery / JavaScript Δοκιμάστε αυτό το παράδειγμα κώδικα: Λειτουργία YourJavaScriptFunction () { var i = $ ('# login'). val (); εάν (i == "είσοδος") window.location = "Login.php"; αλλού window.location = "Αποσύνδεση.php"; } Εάν θέλετε να δώσετε μια πλήρη διεύθυνση URL ως window.location = "www.google.co.in" ;. | Αρχική ερώτηση: "Πώς να ανακατευθύνετε χρησιμοποιώντας το jQuery;", εξ ου και η απάντηση εφαρμόζει το jQuery >> Δωρεάν περίπτωση χρήσης. Για απλώς ανακατεύθυνση σε μια σελίδα με JavaScript: window.location.href = "/ contact /"; Ή εάν χρειάζεστε καθυστέρηση: setTimeout (συνάρτηση () { window.location.href = "/ contact /"; }, 2000); // Χρόνος σε χιλιοστά του δευτερολέπτου Το jQuery σάς επιτρέπει να επιλέξετε εύκολα στοιχεία από μια ιστοσελίδα. Μπορείτε να βρείτε οτιδήποτε θέλετε σε μια σελίδα και, στη συνέχεια, να χρησιμοποιήσετε το jQuery για να προσθέσετε ειδικά εφέ, να αντιδράσετε σε ενέργειες χρήστη ή να εμφανίσετε και να αποκρύψετε περιεχόμενο εντός ή εκτός του στοιχείου που έχετε επιλέξει. Όλες αυτές οι εργασίες ξεκινούν με τη γνώση του τρόπου επιλογής ενός στοιχείου ή ενός συμβάντος. $ ('a, img'). on ('click', function (e) { e.preventDefault (); $ (αυτό). ζώο ({ αδιαφάνεια: 0 // Βάλτε μερικά κινούμενα σχέδια CSS εδώ }, 500); setTimeout (συνάρτηση () { // Εντάξει, ολοκληρωμένο προσωπικό του jQuery, ας πάμε ανακατεύθυνση window.location.href = "/ contact /"; }, 500); }); Φανταστείτε ότι κάποιος έγραψε ένα σενάριο / plugin με 10.000 γραμμές κώδικα. Με το jQuery μπορείτε να συνδεθείτε σε αυτόν τον κωδικό μόνο με μία ή δύο γραμμές. | Πρέπει να βάλετε αυτήν τη γραμμή στον κωδικό σας: $ (τοποθεσία) .attr ("href", "http://stackoverflow.com"); Εάν δεν έχετε jQuery, μεταβείτε με JavaScript: window.location.replace ("http://stackoverflow.com"); window.location.href ("http://stackoverflow.com"); | Έτσι, το ερώτημα είναι πώς να δημιουργήσετε μια σελίδα ανακατεύθυνσης και όχι πώς να ανακατευθύνετε σε έναν ιστότοπο; Πρέπει να χρησιμοποιήσετε μόνο JavaScript για αυτό. Εδώ είναι ένας μικρός κώδικας που θα δημιουργήσει μια δυναμική σελίδα ανακατεύθυνσης. Λοιπόν, ας πούμε ότι απλώς τοποθετήσατε αυτό το απόσπασμα σε ένα αρχείο ανακατεύθυνσης / index.html στον ιστότοπό σας, μπορείτε να το χρησιμοποιήσετε έτσι. http://www.mywebsite.com/redirect?url=http://stackoverflow.com Και αν μεταβείτε σε αυτόν τον σύνδεσμο, θα σας ανακατευθύνει αυτόματα στο stackoverflow.com. Σύνδεσμος για τεκμηρίωση Και έτσι δημιουργείτε μια απλή σελίδα ανακατεύθυνσης με JavaScript Επεξεργασία: Υπάρχει επίσης ένα πράγμα που πρέπει να σημειωθεί. Έχω προσθέσει το window.location.replace στον κώδικά μου επειδή πιστεύω ότι ταιριάζει σε μια σελίδα ανακατεύθυνσης, αλλά, πρέπει να γνωρίζετε ότι όταν χρησιμοποιείτε το window.location.replace και θα ανακατευθυνθείτε, όταν πατήσετε το κουμπί πίσω στο πρόγραμμα περιήγησής σας επέστρεψε στη σελίδα ανακατεύθυνσης και θα επιστρέψει στη σελίδα πριν από αυτήν, ρίξτε μια ματιά σε αυτό το μικρό demo. Παράδειγμα: Η διαδικασία: store home => ανακατεύθυνση σελίδας στο google => google Όταν βρίσκεστε στο google: google => κουμπί πίσω στο πρόγραμμα περιήγησης => αποθηκεύστε το σπίτι Έτσι, εάν αυτό ταιριάζει στις ανάγκες σας, τότε όλα πρέπει να είναι καλά. Αν θέλετε να συμπεριλάβετε τη σελίδα ανακατεύθυνσης στο ιστορικό του προγράμματος περιήγησης αντικαταστήστε το εάν (url) window.location.replace (url); με εάν (url) window.location.href = url; | Στη λειτουργία κλικ, απλώς προσθέστε: window.location.href = "Η διεύθυνση URL όπου θέλετε να ανακατευθύνετε"; $ ('# id'). κάντε κλικ στο (function () { window.location.href = "http://www.google.com"; }); | Δοκιμάστε αυτό: location.assign ("http://www.google.com"); Παράδειγμα κώδικα. | Δεν απαιτείται jQuery. Μπορείτε να το κάνετε αυτό: window.open ("URL", "_ self", "", "") Είναι τόσο εύκολο! Ο καλύτερος τρόπος για να ξεκινήσετε μια αίτηση HTTP είναι με το document.loacation.href.replace ('URL') | Πρώτα γράψτε σωστά. Θέλετε να πλοηγηθείτε σε μια εφαρμογή για έναν άλλο σύνδεσμο από την εφαρμογή σας για έναν άλλο σύνδεσμο. Εδώ είναι ο κωδικός: window.location.href = "http://www.google.com"; Και αν θέλετε να πλοηγηθείτε σε σελίδες εντός της εφαρμογής σας, τότε έχω επίσης κωδικό, αν θέλετε. | Μπορείτε να ανακατευθύνετε στο jQuery ως εξής: $ (τοποθεσία) .attr ('href', 'http://yourPage.com/'); | Χρήση JavaScript: Μέθοδος 1: window.location.href = "http://google.com"; Μέθοδος 2: window.location.replace ("http://google.com"); Χρήση του jQuery: Μέθοδος 1: $ (τοποθεσία) $ (τοποθεσία) .attr ('href', 'http://google.com'); Μέθοδος 2: Επαναχρησιμοποιήσιμη λειτουργία jQuery.fn.redirectTo = συνάρτηση (url) { window.location.href = url; } jQuery (παράθυρο) .redirectTo ("http://google.com"); | Στο JavaScript και στο jQuery μπορούμε να χρησιμοποιήσουμε τον ακόλουθο κώδικα για να ανακατευθύνουμε τη μία σελίδα σε άλλη σελίδα: window.location.href = "http://google.com"; window.location.replace ("σελίδα1.html"); | ECMAScript 6 + jQuery, 85 byte $ ({jQueryCode: (url) => location.replace (url)}). attr ("jQueryCode") ("http://example.com") Σε παρακαλώ μην σκοτώνειςεγώ, αυτό είναι ένα αστείο. Είναι ένα αστείο. Αυτό είναι ένα αστείο. Αυτό "παρείχε μια απάντηση στην ερώτηση", με την έννοια ότι ζήτησε μια λύση "χρησιμοποιώντας το jQuery" η οποία σε αυτήν την περίπτωση συνεπάγεται την εξαναγκασμό της στην εξίσωση με κάποιο τρόπο. Ο Ferrybig προφανώς χρειάζεται το αστείο που εξηγείται (εξακολουθεί να αστειεύεται, είμαι βέβαιος ότι υπάρχουν περιορισμένες επιλογές στη φόρμα αξιολόγησης), οπότε χωρίς περαιτέρω αμφιβολίες: Άλλες απαντήσεις χρησιμοποιούν άσκοπα το jQuery's attr () στη θέση ή στα παράθυρα. Αυτή η απάντηση την κακοποιεί επίσης, αλλά με πιο γελοίο τρόπο. Αντί να το χρησιμοποιήσετε για να ορίσετε την τοποθεσία, αυτό χρησιμοποιεί το attr () για να ανακτήσει μια συνάρτηση που ορίζει την τοποθεσία. Η συνάρτηση ονομάζεται jQueryCode, παρόλο που δεν υπάρχει τίποτα jQuery γι 'αυτήν, και η κλήση μιας συνάρτησης είναι κάτι φρικτό, ειδικά όταν κάτι δεν είναι καν γλώσσα. Το "85 bytes" είναι μια αναφορά στο Code Golf. Το γκολφ προφανώς δεν είναι κάτι που πρέπει να κάνετε εκτός του κώδικα γκολφ, και επιπλέον αυτή η απάντηση είναι προφανώς δεν είναι πραγματικά γκολφ. Βασικά, ζοφερή. | Javascript: window.location.href = 'www.your_url.com'; window.top.location.href = 'www.your_url.com'; window.location.replace ('www.your_url.com'); Jquery: var url = 'www.your_url.com'; $ (τοποθεσία) .attr ('href', url); $ (location) .prop ('href', url); // αντί για τοποθεσία μπορείτε να χρησιμοποιήσετε το παράθυρο | Ακολουθεί μια ανακατεύθυνση χρονικής καθυστέρησης. Μπορείτε να ορίσετε το χρόνο καθυστέρησης σε ό, τι θέλετε: <κεφάλι> Ο τίτλος του εγγράφου σας <άτομο>
Θα ανακατευθυνθείτε σε 8 δευτερόλεπτα!
| Υπάρχουν τρεις βασικοί τρόποι για να το κάνετε αυτό, window.location.href = 'blaah.com'; window.location.assign ('blaah.com'); και... window.location.replace ('blaah.com'); Το τελευταίο είναι καλύτερο, για μια παραδοσιακή ανακατεύθυνση, επειδή δεν θα αποθηκεύσει τη σελίδα στην οποία επισκεφθήκατε προτού ανακατευθυνθείτε στο ιστορικό αναζήτησης. Ωστόσο, εάν θέλετε απλώς να ανοίξετε μια καρτέλα με JavaScript, μπορείτε να χρησιμοποιήσετε οποιοδήποτε από τα παραπάνω ΕΠΕΞΕΡΓΑΣΙΑ: Το πρόθεμα παραθύρου είναι προαιρετικό. | 1 2 Επόμενο Δεν είναι η απάντηση που ψάχνετε; Περιηγηθείτε σε άλλες ερωτήσεις με ετικέτα javascript jquery redirect ή κάντε τη δική σας ερώτηση.